我处于以下情况:我们有一个企业开发者帐户,并且我们正在与外部开发者合作开发一个应用。目前我们无法访问源代码,因此无法构建,但我们仍然需要每周构建一次可以安装在设备上的构建...因此外部开发人员需要能够构建ipa文件。开发者现在是开发者计划的成员,拥有自己的开发者证书。但是,分发证书只能有一个。从安全的角度来看,我们共享分发证书(和私钥)和配置文件以便他们可以构建ipa文件是否安全/建议?还有其他(更安全的)选择吗?PS:我也想过我们可以用我们的分发证书签署一个ipa,但它仍然让我们处于他们需要能够构建一个ipa的情况-这只有在安装了分发证书+供应的情况下才有可能.
我需要以编程方式从用于签署iOS应用程序的证书中获取数据(公钥)。有谁知道这是否可能?有一些API吗?看起来有几个适用于MacOS的解决方案,但没有一个适合iOS。 最佳答案 尝试以下步骤:提取您的iOS应用程序的内容(扩展名:.ipa)。为此,您可以简单地使用ArchiveUtility。切换到提取的内容,您会在其中看到一个App文件(扩展名:.app)右键点击该应用并选择显示包内容您会在名称下看到您使用的配置文件:embedded.mobileprovision在终端中执行以下命令(使用正确的路径)或打开embedded.mob
我正在尝试使用客户端证书身份验证来访问安全网站。我使用的代码在iOS6.1中运行良好,但在使用iOS7时服务器返回403.7错误时失败。我使用connection:willSendRequestForAuthenticationChallenge处理程序来检查身份验证方法并提供客户端证书。我的代码是:-(void)connection:(NSURLConnection*)connectionwillSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge*)challenge{if([challenge.pr
我找到了以下代码:https://github.com/roddi/ValidateStoreReceipt/blob/master/validatereceipt.m在MacOS上加载根证书('AppleRootCA')我也在努力让它在iOS上也能运行。我们的代码是用C++编写的,并使用OpenSSL在使用SSL套接字时验证远程对等点。在其他平台上,我们加载根证书并使用X509_STORE_add_cert将它们添加到上下文中。然后我们使用SSL_get_peer_certificate并验证主机名。这些不是自签名证书,这就是我们要使用设备的根证书的原因。我的问题是如何在iOS设备上
我在彻底失败中饱受苦难,无法掌握代码签名、配置以及分发iOS应用程序的所有相关主题的概念。尽管事实上我已经在Xcode中开发了2年并且已经在AppStore中成功发布了2个应用程序-我只是不明白。我曾尝试通读Apple的文档,但要么我太迟钝,要么文档不够好,无法让我对流程有任何有意义的理解。我要求提供一些替代博客文章、网站、文章、信息图表、图表、图表,以及任何可以帮助其他人更好地理解这些关键概念的内容。我在SO上读到的帖子似乎治标不治本。 最佳答案 我发现的最好的,当我需要理解这个过程时,这篇文章做到了......!http://w
我是APNS证书方面的新手。我的问题是一位老开发人员丢失了我们用于多个内部(临时)应用程序的私钥,以及我们用来向用户推出应用程序和策略的应用程序。我知道获取私钥的唯一方法是吊销证书,然后生成一个新证书并重新签署所有内部应用程序并使用新证书重新部署。我唯一担心的是使用APNS的应用程序会发生什么情况,它是否仍然使用我们苹果帐户的分发证书,或者当我们撤销分发证书时,这不会受到影响吗? 最佳答案 推送证书不是配置文件的一部分。它与客户端(应用程序)无关,只有您的服务器与APNS的连接受到影响。
这可能吗,如果可能的话如何?我正在使用需要客户端证书的协议(protocol),因此我想生成一次并将其存储在钥匙串(keychain)中以备将来使用。我目前正在使用安全框架通过SecKeyGeneratePair生成key对,但是有什么方法可以将生成的公钥打包到X.509证书中并将其与私钥一起添加以创建新的SecIdentity?我认为应该有一种方法,因为安全框架在iOS和Mac上应该是相同的,并且Mac上的钥匙串(keychain)访问可以生成自签名证书。OpenSSL是一个选项,但如果可能的话,我更愿意使用内置的安全框架。谢谢。 最佳答案
在我的工作场所,我们已经完成了一个iOS应用程序的开发,即将开始。在此之前,我想澄清一些有关证书和配置文件以及构建环境的事项:Q1:我认为一个Apple帐户只能有一个分发证书,因此这将在两个应用程序中使用,我的想法是否正确?(通过它出现在配置文件中,我将创建一组新的配置文件,其中包含新应用程序的新应用程序ID)。Q2:由于安装在钥匙串(keychain)中的是证书而不是配置文件,我假设新应用程序应该只在当前为当前应用程序设置的构建机器上构建。Q3:与Q2相关,我想知道是否有必要或一个好主意,将当前应用程序和新应用程序的构建分开,将它们放在不同的物理构建机器上(或将构建机器划分为虚拟机)
更新2/6/14编辑:我创建了一个本地ApacheTomcat服务器来测试带证书身份验证的SSL。我成功了!使用下面的两种方法,一切都按预期工作。(MKNetworkKit和自定义代码)。虽然这确实告诉我我的代码正在运行,但我的原始问题仍未解决。我更新了问题的标题以更具体地反射(reflect)问题。有谁知道SAPPortal是否需要特殊设置才能接受来自iOS应用程序的证书?请记住,在将CA和.p12导入共享钥匙串(keychain)后,我能够使用Safari移动设备成功进行身份验证,我只是在代码中不成功(我现在知道代码有效,只是在门户网站上无效)。我正在使用自定义插件创建一个非常简单
我有很多代码片段,它们使用AES128加密数据(如果您提供您的工作实现,我将非常感激)例如这个:-(NSData*)AES128EncryptWithKey:(NSString*)key{//'key'shouldbe16bytesforAES128,willbenull-paddedotherwisecharkeyPtr[kCCKeySizeAES128+1];//roomforterminator(unused)bzero(keyPtr,sizeof(keyPtr));//fillwithzeroes(forpadding)//fetchkeydata[keygetCString: